* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  list-style: none;
}

body {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: darkslateblue;
}

main {
  --width: 60px;
  --height: 60px;
  background-color: white;
  overflow: hidden;
  width: var(--width);
  height: 300px;
  transition: 0.5s;
  &:has(input:checked) {
    width: 400px;
  }
  // header label > div:not(.abc) {
  //   background-color: red;
  // }
  header {
    border-bottom: solid 1px #ddd;
    // input:checked + .icon {
    //   &::before {
    //     transform: rotate(-45deg);
    //   }
    //   &::after {
    //     transform: translateY(0px) rotate(45deg);
    //     box-shadow: 0 0px;
    //   }
    // }
    // &:has(input:checked) {
    //   .icon {
    //     &::before {
    //       transform: rotate(-45deg);
    //     }
    //     &::after {
    //       transform: translateY(0px) rotate(45deg);
    //       box-shadow: 0 0px;
    //     }
    //   }
    // }
    .icon {
      width: var(--width);
      height: var(--width);
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      // &:not(:has(+ input:checked)) {
      //   background-color: red;
      // }
      &::after,
      &::before {
        content: '';
        transition: 0.5s;
        position: absolute;
        display: flex;
        height: 3px;
        background-color: #333;
        width: 80%;
        border-radius: 5px;
      }
      &::after {
        transform: translateY(10px);
        box-shadow: 0 -20px;
      }
      &:has(+ input:checked) {
        &::before {
          transform: rotate(-45deg);
        }
        &::after {
          transform: translateY(0px) rotate(45deg);
          box-shadow: 0 0px;
        }
      }
    }
  }
  menu {
    ul {
      li {
        display: flex;
        align-items: center;
        gap: 10px;
        cursor: pointer;
        .fa {
          min-width: var(--width);
          //min-width> flex>width
          height: var(--height);
          // border: solid 1px #ddd;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        &.active {
          background-color: palevioletred;
          color: white;
        }
      }
    }
  }
}
